// 引入数据库
const db=require('../db/index')


// 获取文章列表的处理函数
exports.getArticleCates=(req,res)=>{

    const sql="select * from ev_article_cate where is_deleted=0 order by id asc"

    db.query(sql,(err,result)=>{
        if(err){
            return res.send({
                status:201,
                msg:err
            })
        }
        return  res.send({
            status:200,
            msg:'获取文章列表成功！',
            data:result
        })
    })

}


//新增文章分类的处理函数
exports.addArticleCates=(req,res)=>{
    // 查询名称和别名是否被占用
    const sql="select * from ev_article_cate where name=? or alias=?"

    db.query(sql,[req.body.name,req.body.alias],(err,result)=>{
        if(err){
            return res.send({
                status:201,
                msg:err.message
            })
        }
        if(result.length>=1){
            return res.send({
                status:201,
                msg:'名称或别名已被占用'
            })
        }

        const sql1="insert into ev_article_cate set ?"
        db.query(sql1,req.body,(err,result)=>{
            if(err){
                return res.send({
                    status:201,
                    msg:err.message
                })
            }

            if (result.affectedRows !== 1){
                return res.send({
                    status:201,
                    msg:'新增文章失败！'
                })
            }

            res.send({
                status:200,
                msg:'新增文章成功！'
            })
        })
    })

}


//根据id删除文章的处理函数
exports.deleteCateById=(req,res)=>{

    const sql="update ev_article_cate set is_deleted=1 where id=?"

    db.query(sql,req.params.id,(err,result)=>{
        if(err){
            return res.send({
                status:201,
                msg:err
            })
        }

        if(result.affectedRows!==1){
            return res.send({
                status:201,
                msg:'删除失败!'
            })
        }
        return  res.send({
            status:200,
            msg:'删除成功！'
        })
    })
}


//根据id获取文章数据的处理函数
exports.getArticleById=(req,res)=>{

    const sql="select * from ev_article_cate where id=?"

    db.query(sql,req.params.id,(err,result)=>{
         if(err){
             return res.send({
                 status:201,
                 msg:err
             })
         }

         if(result.length!==1){
             return res.send({
                 status:201,
                 msg:'获取文章失败'
             })
         }

        return res.send({
            status:200,
            msg:'获取文章成功',
            data:result[0]
        })

    })

}


//根据id更新文章数据的处理函数
exports.updateCateById=(req,res)=>{
    // 根据id查询
    const sql="select * from ev_article_cate where id<>? and (name=? or alias=?)"

    db.query(sql,[req.body.id,req.body.name,req.body.alias],(err,result)=>{
        if(err){
            return res.send({
                status:201,
                msg:err
            })
        }

        if(result.length>=1){
            return res.send({
                status:201,
                msg:'名称或别名已被占用！'
            })
        }


        const sql1="update ev_article_cate set name=?,alias=? where id=?"
        db.query(sql1,[req.body.name,req.body.alias,req.body.id],(err,result)=>{
            if(err){
                return res.send({
                    status:201,
                    msg:err
                })
            }
            if(result.affectedRows!==1){
                return res.send({
                    status:201,
                    msg:'更新文章失败！'
                })
            }

            return res.send({
                status:200,
                msg:'更新文章成功!',
            })

        })


    })
}